/*
 * Parameters.cpp
 *
 *  Created on: Aug 26, 2011
 *      Author: ryan
 */

#include "Parameters.h"
#include "ImageIO.h"
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>

Parameters::Parameters() {
	// TODO 初始化所有参数
	inputImageFileName[0] = '\0';
	refImageFileName[128] = '\0';
	outFilePath[0] = '\0';
	tasks = 0;
	devide = -1;
}

Parameters::~Parameters() {
	// TODO 释放所有成员的空间
}

int Parameters::analizeOpt(int argc, char** argv) {
	int ch, m = 0;
	int num = 0;
	while ((ch = getopt(argc, argv, "I:R:O:P:h")) != -1) {
		++num;
		switch (ch) {
		case 'I':
			strcpy(inputImageFileName, optarg);
			++m;
			break;
		case 'R':
			strcpy(refImageFileName, optarg);
			++m;
			break;
		case 'O':
			strcpy(outFilePath, optarg);
			++m;
			break;
		case 'P':
			devide = atof(optarg);
			break;
		default:
			break;
		}
	}
	printf("%d\n", num);
//	if (strcmp(refImageFileName, "") != 0) {
//		printf("Reading Reference Image..............");
//		ImageIO::ReadBmpImage(refImageFileName, &ref);
//		printf("End!\t With Image Size (%d X %d)\n", ref.width, ref.height);
//	} else {
//		fprintf(stderr, "Please Give a Reference Image!");
//		return 0;
//	}
//	if (strcmp(inputImageFileName, "") != 0) {
//		printf("Reading Input Image..................");
//		ImageIO::ReadBmpImage(inputImageFileName, &inp);
//		printf("End!\t With Image Size (%d X %d)\n", inp.width, inp.height);
//	} else {
//		fprintf(stderr, "Please Give a Input Image!\n");
//		return 0;
//	}
//	printf("\n");
//	int i;
//	out.width = inp.width;
//	out.height = inp.height;
//	out.data = new Color*[inp.width];
//	for (i = 0; i < inp.width; ++i) {
//		out.data[i] = new Color[inp.height];
//		memset(out.data[i], 0, sizeof(Color) * inp.height);
//	}
//	tasks = ref.width;
	return m;
}
